// 导入navModel
const navModel = require('../models/navModel');
const Jwt = require('../common/jwt');

class Nav {
    // 1. 获取导航列表
    async getNavList(req, res) {
        await navModel.getNavList()
            .then(
                content => {
                    res.send(content)
                }
            )
            .catch(
                err => {
                    res.send(err);
                }
            )
    }
    // 2. 添加/发布导航（中端）
    async addNav(req, res) {
        // 接收前端的参数
        let {nav_name} = req.body;
        let token = req.body.token || req.headers.token;
        let jwt = new Jwt(token);
        // 判断token是否在登录有效期
        let result = jwt.verifyToken();
        if (result.data) {
            // 发布导航
            let dt = new Date();
            let nav_create_time = dt.toLocaleDateString() + " " + dt.toLocaleTimeString();// 2023/07/09 16:14:00
            await navModel.addNav(nav_name,nav_create_time)
                .then(
                    content => {
                        res.send(content)
                    }
                )
                .catch(
                    err => {
                        res.send(err)
                    }
                )
        }
        else {
            res.send({
                code: -1,
                msg: '请先登录账号。'
            })
        }

    }
    // 3. 删除导航（中端）
    async removeNav(req, res) {
        // 接收前端的参数
        let { id} = req.body;
        let token = req.body.token || req.headers.token;
        let jwt = new Jwt(token);
        // 判断token是否在登录有效期
        let result = jwt.verifyToken();
        if (result.data) {
            // 发布导航
            await navModel.removeNav(id)
                .then(
                    content => {
                        res.send(content)
                    }
                )
                .catch(
                    err => {
                        res.send(err)
                    }
                )
        }
        else {
            res.send({
                code: -1,
                msg: '请先登录账号。'
            })
        }
    }
    // 4. 编辑导航（中端）
    async editNav(req, res) {
        // 接收前端的参数
        let { id,nav_name} = req.body;
        let token = req.body.token || req.headers.token;
        let jwt = new Jwt(token);
        // 判断token是否在登录有效期
        let result = jwt.verifyToken();
        if (result.data) {
            // 发布导航
            await navModel.editNav(id,nav_name)
                .then(
                    content => {
                        console.log('xx:',content)
                        res.send(content)
                    }
                )
                .catch(
                    err => {
                        console.log('yy:',err)
                        res.send(err)
                    }
                )
        }
        else {
            res.send({
                code: -1,
                msg: '请先登录账号。'
            })
        }
    }
}

module.exports = new Nav();